﻿// Form sử dụng bảng Catalogue_Major **
// Form sử dụng bảng Catalogue_Level
// Form sử dụng bảng Catalogue_Department
using DevExpress.XtraBars;

using UniMana.Utils.Data;
using UniMana.Utils.Helper;
using UniMana.Utils.Controls;

using UniMana.Utils.Controls;
using System.Windows.Forms;
using UniMana.Data;
using UniMana.Utils.Helper;
using DevExpress.XtraEditors;
using System;
namespace UniMana.Win.Catalogue
{
    public partial class FrmCategories_SubMajor : DevExpress.XtraEditors.XtraForm
    {        
        #region[Khai báo biến toàn cục]
        private DBMain m_Catalogue = new DBMain();
        private bds m_bds = new bds();
        #endregion
        public FrmCategories_SubMajor()
        {
            InitializeComponent();
            LoadData();
            InitControlEvent();
        }
        public void LoadData()
        {
            lueCatalogue_DepartmentNB.GetData(m_Catalogue.m_DCSave.Catalogue_Departments, "Catalogue_DepartmentKey");
            lueCatalogue_LevelNB.GetData(m_Catalogue.m_DCSave.Catalogue_Levels, "Catalogue_LevelKey");
            m_bds.DataSource = m_Catalogue.m_DCSave.Catalogue_Majors;
            lcgInfo.LoadOneRecord(m_bds);
        }
        #region [sự kiện các nút]
        public void InitControlEvent()
        {
            xucBar.btnAddNew_Click += new xucBar.ButtonClickHandler(btnAddNew_Click);
            xucBar.btnDelete_Click += new xucBar.ButtonClickHandler(btnDelete_Click);
            xucBar.btnEdit_Click += new xucBar.ButtonClickHandler(btnEdit_Click);
            xucBar.btnCancel_Click += new xucBar.ButtonClickHandler(btnCancel_Click);
            xucBar.btnSave_Click += new xucBar.ButtonClickHandler(btnSave_Click);
            xucBar.btnRefresh_Click += new xucBar.ButtonClickHandler(btnRefresh_Click);
        }
        private void btnAddNew_Click(object sender, ItemClickEventArgs e)
        {
            
            if (lueCatalogue_LevelNB.EditValue != null)
            {
                int Catalogue_LevelKey = lueCatalogue_LevelNB.GetIntValue();
                if (lueCatalogue_DepartmentNB.EditValue != null)
                {
                    Catalogue_Major major = new Catalogue_Major();
                    major.Catalogue_DepartmentKey = lueCatalogue_DepartmentNB.GetIntValue();
                    major.Catalogue_LevelKey = lueCatalogue_LevelNB.GetIntValue();
                    m_bds.Add(major);
                    m_bds.MoveLast();
                }
                else
                {
                    MessageBox.Show("Bạn chưa chọn khoa", "Thông Báo");
                }
            }
            else
            {
                MessageBox.Show("Bạn chưa chọn bậc đào tạo", "Thông Báo");
            }
        }
        private void btnDelete_Click(object sender, ItemClickEventArgs e)
        {
            DialogResult result = new DialogResult();
            result = MessageBox.Show("Bạn Có Chắc Xóa Không", "Thông Báo", MessageBoxButtons.YesNo);
            if (result == DialogResult.Yes)
            {
                int Catalogue_MajorKey = (int)grvMajor.GetFocusedRowCellValue("Catalogue_MajorKey");
                if (CheckBeforDelete.Check("Catalogue_Major","Catalogue_MajorKey", Catalogue_MajorKey))
                {
                    m_bds.DeleteCurrent();
                    btnSave_Click(sender, e);
                }
                else
                {
                    XtraMessageBox.Show("Bạn không được xóa dữ liệu này.");
                }
                if (lueCatalogue_LevelNB.EditValue != null)
                {
                    int Catalogue_LevelKey = lueCatalogue_LevelNB.GetIntValue();
                    if (lueCatalogue_DepartmentNB.EditValue != null)
                    {
                        int Catalogue_DeparmentKey = lueCatalogue_DepartmentNB.GetIntValue();
                        m_bds.DataSource = m_Catalogue.m_DCSave.Catalogue_Majors.GetListByRef(Catalogue_LevelKey, Catalogue_DeparmentKey);
                        gctMajor.DataSource = m_bds;
                    }
                    else
                    {
                    }
                }
                else
                {
                }
            }
            else
            {
            }
        }
        private void btnEdit_Click(object sender, ItemClickEventArgs e)
        {
        }
        private void btnCancel_Click(object sender, ItemClickEventArgs e)
        {
            this.Validate();  m_bds.CancelEdit();
        }
        private void btnSave_Click(object sender, ItemClickEventArgs e)
        {
            this.Validate();  for (int i = 0; i < grvMajor.RowCount; i++)
            {
                if (this.grvMajor.GetRowCellValue(i, gclName) == null)
                {
                    MessageBox.Show("Chưa nhập dữ liệu đầy đủ");
                    return;
                }
            }
            this.Save(m_bds, m_Catalogue.m_DCSave);
            this.Validate();
        }
        private void btnRefresh_Click(object sender, ItemClickEventArgs e)
        {
        }
        private void btnView_Click(object sender, EventArgs e)
        {
            if (lueCatalogue_LevelNB.EditValue != null)
            {
                int Catalogue_LevelKey = lueCatalogue_LevelNB.GetIntValue();
                if (lueCatalogue_DepartmentNB.EditValue != null)
                {
                    int Catalogue_DeparmentKey = lueCatalogue_DepartmentNB.GetIntValue();
                    m_bds.DataSource = m_Catalogue.m_DCSave.Catalogue_Majors.GetListByRef(Catalogue_LevelKey, Catalogue_DeparmentKey);
                    gctMajor.DataSource = m_bds;
                }
                else
                {
                }
            }
            else
            {
            }
        }
        #endregion
    }
}